package com.testing.class5;

import java.util.Arrays;

public class ArrayTest {
    public static void main(String[] args) {
        //新建数组
        //数组的长度，是在初始化的时候就指定好的，不可以变化。
        //如果数组初始化没有给初值，只指定了长度，默认填充0.
        int[] arrI=new int[4];
        //数组的值，大括号括起来，用逗号分隔
        int[] arrIf=new int[]{3,5,7};

        arrIf.getClass().getName();

        System.out.println(arrI);

        //数组的存储数据类型可以是任何类型。

        Dog[] dogs=new Dog[2];
        dogs[0]=new Dog("好奇");
        // 但是，数组一旦指定了类型，就只能存这个类型的东西
//        dogs[1]=4;
        dogs[1]=new Dog("开心");
        System.out.println(dogs);


        //删，在初始化的时候就指定好的，不可以变化，所以没有删。

        //改
        //针对指定下标进行赋值就是修改数组中的内容。
        arrI[0]=2;
        arrI[1]=4;
        arrI[2]=3;
        arrI[3]=8;

        //查，遍历数组中的内容。
        //获取数组中某个元素：以下标作为标志来进行获取，编程中下标从0开始计数。
        //输出arrI中的第一个数
        System.out.println(arrI[0]);

        //获取数组中的所有元素：
        //1、通过下标进行遍历获取
        for(int i=0;i<arrI.length;i++){
            System.out.print(arrI[i]+" ");
        }

        System.out.println();

        for(int i=0;i<arrIf.length;i++){
            System.out.print(arrIf[i]+" ");
        }

        System.out.println("-----------输出排序后的数组-----------");
        //增强型for循环：遍历容器中的所有值。
        //注意遍历的是值。
//        for (int zhi : arrIf) {
//            System.out.print(arrIf[zhi]+" ");
//        }

        //通过Arrays中的静态方法sort进行排序。
        Arrays.sort(arrI);
        //调用toString方法，将arrI中的内容转成字符串输出
        System.out.println(Arrays.toString(arrI));



    }
}
